This section describes a function for progressive downloads. These functions apply to all derived media handler components.
When an application or other software calls any of the Movie Toolbox's functions to create a time table for progressive downloads, the base media handler calls your derived media handler's MediaMakeMediaTimeTable function to create the time table.
pascal ComponentResult MediaMakeMediaTimeTable (
MediaHandler mh,
long **offsets,
TimeValue startTime,
TimeValue endTime,
TimeValue timeIncrement,
short firstDataRefIndex,
short lastDataRefIndex,
long *RetDataRefSkew);
The toolbox calls your derived media handler's MediaMakeMediaTimeTable function whenever an application or other software calls the toolbox's QTMovieNeedsTimeTable , GetMaxLoadedTimeInMovie , MakeTrackTimeTable, or MakeMediaTimeTable function. When an application or other software calls one of these functions, it allocates an unlocked relocatable memory block for the time table to be returned and passes a handle to it in the offsets parameter. Your derived media handler must resize the block to accommodate the time table it returns.
The time table your derived media handler returns is a two-dimensional array of long integers that is organized as follows:
The number of columns in the table must be equal to ( endTime - startTime ) / timeIncrement , rounded up.
Your derived media handler must also return the offset to the next row of the time table, in long integers, in the retdataRefSkew parameter. Because of alignment issues, this value is not always equal to ( endTime - startTime ) / timeIncrement , rounded up.
| Previous | Chapter Contents | Chapter Top |